home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
taropyon
/
guilib3
/
inc
/
spgetopt.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-11-30
|
1KB
|
73 lines
#ifndef _SPGETOPT_H
#define _SPGETOPT_H
#ifndef _SPDEFS_H
# include <spdefs.h>
#endif
#define GOP_MODE_NORMAL (0)
#define GOP_MODE_SET_ETC_UNKNOWN (1)
#define GOP_TYP_FLAG (1) /* ex. -key */
#define GOP_TYP_DIGIT (2) /* ex. -key <n> */
#define GOP_TYP_NAME (3) /* ex. -key <name> */
#define GOP_TYP_ON_OFF (4) /* ex. -key <on|off> */
#define GOP_TYP_SELECT (5) /* ex. -key <k1|k2|k3...> */
#define GOP_VAR_CHAR (1)
#define GOP_VAR_SHORT (2)
#define GOP_VAR_INT (4)
#define GOP_VAR_STR (16)
typedef struct
{
int typ; /* 種別 */
CONST char *name; /* オプションネーム */
int varTyp;
void *varPtr;
void *ptr;
} GOPKEY_T;
typedef struct
{
int def; /* デフォルト値 */
int min;
int max;
} GOP_DIGIT_T;
typedef struct
{
int ret;
CONST char *name;
} GOP_SELECT_OBJ_T;
typedef struct
{
int n;
GOP_SELECT_OBJ_T *obj;
} GOP_SELECT_T;
typedef struct _getoptetc_t
{
struct _getoptetc_t *next;
char *s;
} GOPETC_T;
typedef struct
{
int mode;
CONST char *sw; /* オプションスイッチャー */
GOPKEY_T *key;
int (*errFunc)(CONST char *);
int etcNum;
GOPETC_T *etc;
} GOP_T;
extern char GopDefaultStr[];
extern int GOP_decode( GOP_T *gop, int argc, char **argv );
extern void GOP_free( GOP_T *gop );
#endif